#include <iostream>
#include <string>
#include <type_traits>
// #include <format>

using namespace std;

template <typename T1, typename T2>
enable_if_t<is_same_v<T1, T2>, bool>
checkType(const T1 &t1, const T2 &t2)
{
	cout << "'" << t1 << "' and '" << t2 << "' are the same types." << endl;
	return true;
}

template <typename T1, typename T2>
enable_if_t<!is_same_v<T1, T2>, bool>
checkType(const T1 &t1, const T2 &t2)
{
	cout << "' " << t1 << "' and '" << t2 << "' are different types." << endl;
	return false;
}

int main()
{
	checkType(1, 32);
	checkType(1, 3.01);
	checkType(3.01, "Test"s);
}
